<!DOCTYPE html>
<html lang="ko">
<head prefix="og: http://ogp.me/ns#">
  <meta charset="utf-8">
  <title>Plugins | Hexo</title>
  <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- Canonical links -->
  <link rel="canonical" href="https://hexo.io/ko/docs/plugins.html">
  <!-- Alternative links -->
  
    
      <link rel="alternative" hreflang="en" href="https://hexo.io/docs/plugins.html">
    
      <link rel="alternative" hreflang="zh-tw" href="https://hexo.io/zh-tw/docs/plugins.html">
    
      <link rel="alternative" hreflang="zh-cn" href="https://hexo.io/zh-cn/docs/plugins.html">
    
      <link rel="alternative" hreflang="ru" href="https://hexo.io/ru/docs/plugins.html">
    
      <link rel="alternative" hreflang="ko" href="https://hexo.io/ko/docs/plugins.html">
    
  
  <!-- Icon -->
  <link rel="apple-touch-icon" sizes="57x57" href="/icon/apple-touch-icon-57x57.png">
  <link rel="apple-touch-icon" sizes="114x114" href="/icon/apple-touch-icon-114x114.png">
  <link rel="apple-touch-icon" sizes="72x72" href="/icon/apple-touch-icon-72x72.png">
  <link rel="apple-touch-icon" sizes="144x144" href="/icon/apple-touch-icon-144x144.png">
  <link rel="apple-touch-icon" sizes="60x60" href="/icon/apple-touch-icon-60x60.png">
  <link rel="apple-touch-icon" sizes="120x120" href="/icon/apple-touch-icon-120x120.png">
  <link rel="apple-touch-icon" sizes="76x76" href="/icon/apple-touch-icon-76x76.png">
  <link rel="apple-touch-icon" sizes="152x152" href="/icon/apple-touch-icon-152x152.png">
  <link rel="icon" type="image/png" href="/icon/favicon-196x196.png" sizes="196x196">
  <link rel="icon" type="image/png" href="/icon/favicon-160x160.png" sizes="160x160">
  <link rel="icon" type="image/png" href="/icon/favicon-96x96.png" sizes="96x96">
  <link rel="icon" type="image/png" href="/icon/favicon-16x16.png" sizes="16x16">
  <link rel="icon" type="image/png" href="/icon/favicon-32x32.png" sizes="32x32">
  <meta name="msapplication-TileColor" content="#2f83cd">
  <meta name="msapplication-TileImage" content="/icon/mstile-144x144.png">
  <!-- CSS -->
  <!-- build:css build/css/navy.css -->
  <link rel="stylesheet" href="/css/navy.css">
  <!-- endbuild -->
  <link href="https://fonts.googleapis.com/css?family=Lato:300,400,700" rel="stylesheet" type="text/css">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css">
  <!-- RSS -->
  <link rel="alternate" href="/atom.xml" title="Hexo">
  <!-- Open Graph -->
  <meta name="description" content="Hexo는 파워풀한 플러그인 시스템을 가지고 있습니다. 코어 모듈의 소스 코드를 수정하지 않고도 쉽게 확장 기능을 구현할 수 있습니다. 아래에서 두 가지 종류의 Hexo 플러그인을 소개해 드립니다. 스크립트플러그인이 상대적으로 간단한 것이라면, 스크립트를 사용하는 것을 추천 합니다. scripts 폴더에 JavaScript 파일을 넣어두기만 하면 Hexo가">
<meta property="og:type" content="website">
<meta property="og:title" content="Plugins">
<meta property="og:url" content="https://hexo.io/ko/docs/plugins.html">
<meta property="og:site_name" content="Hexo">
<meta property="og:description" content="Hexo는 파워풀한 플러그인 시스템을 가지고 있습니다. 코어 모듈의 소스 코드를 수정하지 않고도 쉽게 확장 기능을 구현할 수 있습니다. 아래에서 두 가지 종류의 Hexo 플러그인을 소개해 드립니다. 스크립트플러그인이 상대적으로 간단한 것이라면, 스크립트를 사용하는 것을 추천 합니다. scripts 폴더에 JavaScript 파일을 넣어두기만 하면 Hexo가">
<meta property="og:locale" content="ko">
<meta property="og:updated_time" content="2017-12-06T21:52:16.000Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Plugins">
<meta name="twitter:description" content="Hexo는 파워풀한 플러그인 시스템을 가지고 있습니다. 코어 모듈의 소스 코드를 수정하지 않고도 쉽게 확장 기능을 구현할 수 있습니다. 아래에서 두 가지 종류의 Hexo 플러그인을 소개해 드립니다. 스크립트플러그인이 상대적으로 간단한 것이라면, 스크립트를 사용하는 것을 추천 합니다. scripts 폴더에 JavaScript 파일을 넣어두기만 하면 Hexo가">
<meta name="twitter:site" content="hexojs">
<meta property="fb:admins" content="100000247608790">
  <!-- Google Analytics -->
  
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-48498357-3', 'auto');
  ga('send', 'pageview');
</script>

</head>

<body>
  <div id="container">
    <header id="header" class="wrapper">
  <div id="header-inner" class="inner">
    <h1 id="logo-wrap">
      <a href="/ko/" id="logo">Hexo</a>
    </h1>
    <nav id="main-nav">
      <a href="/ko/docs/" class="main-nav-link">Docs</a><a href="/ko/api/" class="main-nav-link">API</a><a href="/news/" class="main-nav-link">News</a><a href="/plugins/" class="main-nav-link">Plugins</a><a href="/themes/" class="main-nav-link">Themes</a>
      <a href="https://github.com/hexojs/hexo" class="main-nav-link"><i class="fa fa-github-alt"></i></a>
      <div id="search-input-wrap">
        <div id="search-input-icon">
          <i class="fa fa-search"></i>
        </div>
        <input type="search" id="search-input" placeholder="Search...">
      </div>
    </nav>
    <div id="lang-select-wrap">
      <label id="lang-select-label"><i class="fa fa-globe"></i><span>한국어</span></label>
      <select id="lang-select" data-canonical="docs/plugins.html">
        
          <option value="en">English</option>
        
          <option value="zh-tw">正體中文</option>
        
          <option value="zh-cn">简体中文</option>
        
          <option value="ru">Русский</option>
        
          <option value="ko" selected>한국어</option>
        
      </select>
    </div>
    <a id="mobile-nav-toggle">
      <span class="mobile-nav-toggle-bar"></span>
      <span class="mobile-nav-toggle-bar"></span>
      <span class="mobile-nav-toggle-bar"></span>
    </a>
  </div>
</header>

    <div id="content-wrap">
  <div id="content" class="wrapper">
    <div id="content-inner">
      <article class="article-container" itemscope itemtype="http://schema.org/Article">
        <div class="article-inner">
          <div class="article">
            <div class="inner">
              <header class="article-header">
                <h1 class="article-title" itemprop="name">Plugins</h1>
                <a href="https://github.com/hexojs/site/edit/master/source/ko/docs/plugins.md" class="article-edit-link" title="Improve this doc"><i class="fa fa-pencil"></i></a>
              </header>
              <div class="article-content" itemprop="articleBody">
                <p>Hexo는 파워풀한 플러그인 시스템을 가지고 있습니다. 코어 모듈의 소스 코드를 수정하지 않고도 쉽게 확장 기능을 구현할 수 있습니다. 아래에서 두 가지 종류의 Hexo 플러그인을 소개해 드립니다.</p>
<h3 id="스크립트" class="article-heading"><a href="#스크립트" class="headerlink" title="스크립트"></a>스크립트<a class="article-anchor" href="#스크립트" aria-hidden="true"></a></h3><p>플러그인이 상대적으로 간단한 것이라면, 스크립트를 사용하는 것을 추천 합니다. <code>scripts</code> 폴더에 JavaScript 파일을 넣어두기만 하면 Hexo가 초기화 과정에서 알아서 로딩해 갑니다.</p>
<h3 id="플러그인" class="article-heading"><a href="#플러그인" class="headerlink" title="플러그인"></a>플러그인<a class="article-anchor" href="#플러그인" aria-hidden="true"></a></h3><p>코드가 복잡하거나 NPM registry에 배포하기를 원한다면, 플러그인을 사용하는 것을 추천 드립니다. 우선, <code>node_modules</code> 폴더 내에 새 폴더를 생성하세요. 폴더의 이름은 <code>hexo-</code>로 시작해야 합니다. 그렇지 않다면 Hexo는 그 폴더를 무시합니다.</p>
<p>새 폴더는 반드시 다음 두 개의 파일을 가지고 있어야 합니다. 하나는 실제 JavaScript 코드이며, 하나는 플러그인의 목적 및 의존성에 대해 기술한 <code>package.json</code> 파일입니다.</p>
<figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">.</span><br><span class="line">├── index.js</span><br><span class="line">└── package.json</span><br></pre></td></tr></table></figure>
<p><code>package.json</code> 파일에는 최소한 <code>name</code>, <code>version</code>, <code>main</code> 세 가지 항목은 있어야 합니다.</p>
<figure class="highlight json"><figcaption><span>package.json</span></figcaption><table><tr><td class="code"><pre><span class="line">&#123;</span><br><span class="line">  <span class="attr">"name"</span>: <span class="string">"hexo-my-plugin"</span>,</span><br><span class="line">  <span class="attr">"version"</span>: <span class="string">"0.0.1"</span>,</span><br><span class="line">  <span class="attr">"main"</span>: <span class="string">"index"</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>
<p>또한, 루트의 <code>package.json</code>에도 당신이 구현한 플러그인의 의존성 대한 정보를 넣어야 합니다. 그래야 Hexo가 당신의 hexo 인스턴스를 발견하고 로딩할 수 있습니다.</p>
<h3 id="툴" class="article-heading"><a href="#툴" class="headerlink" title="툴"></a>툴<a class="article-anchor" href="#툴" aria-hidden="true"></a></h3><p>당신은 Hexo에서 빠른 개발을 위해 제공하는 공식 툴을 사용할 수 있습니다.</p>
<ul>
<li><a href="https://github.com/hexojs/hexo-fs" target="_blank" rel="noopener">hexo-fs</a>：File IO</li>
<li><a href="https://github.com/hexojs/hexo-util" target="_blank" rel="noopener">hexo-util</a>：Utilities</li>
<li><a href="https://github.com/hexojs/hexo-i18n" target="_blank" rel="noopener">hexo-i18n</a>：Localization (i18n)</li>
<li><a href="https://github.com/hexojs/hexo-pagination" target="_blank" rel="noopener">hexo-pagination</a>：Generate pagination data</li>
</ul>
<h3 id="배포" class="article-heading"><a href="#배포" class="headerlink" title="배포"></a>배포<a class="article-anchor" href="#배포" aria-hidden="true"></a></h3><p>플러그인의 구현이 완료되면, 다른 사람들이 플러그인을 사용할 수 있도록 <a href="/plugins">플러그인 목록</a>에 배포하는 것을 고려해야 합니다. 당신의 플러그인을 배포하는 것은 <a href="contributing.html#Updating_Documentation">문서를 업데이트 하는 것</a>과 매우 유사합니다.</p>
<ol>
<li>Fork <a href="https://github.com/hexojs/site" target="_blank" rel="noopener">hexojs/site</a></li>
<li><p>저장소를 당신의 컴퓨터에 clone하고 종속성이 있는 것들을 모두 설치합니다.</p>
 <figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">$ git clone https://github.com/&lt;username&gt;/site.git</span><br><span class="line">$ cd site</span><br><span class="line">$ npm install</span><br></pre></td></tr></table></figure>
</li>
<li><p><code>source/_data/plugins.yml</code> 파일을 수정하여 당신의 플러그인을 추가합니다.</p>
 <figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">- name: hexo-server</span><br><span class="line">  description: Server module for Hexo.</span><br><span class="line">  link: https://github.com/hexojs/hexo-server</span><br><span class="line">  tags:</span><br><span class="line">    - official</span><br><span class="line">    - server</span><br><span class="line">    - console</span><br></pre></td></tr></table></figure>
</li>
<li><p>Branch에 push합니다.</p>
</li>
<li>Pull request를 생성하여 변경사항에 대해 기술합니다.</li>
</ol>

              </div>
              <footer class="article-footer">
                <time class="article-footer-updated" datetime="2017-12-06T21:52:16.000Z" itemprop="dateModified">Last updated: 2017-12-06</time>
                <a href="internationalization.html" class="article-footer-prev" title="Internationalization (i18n)"><i class="fa fa-chevron-left"></i><span>Prev</span></a><a href="troubleshooting.html" class="article-footer-next" title="Troubleshooting"><span>Next</span><i class="fa fa-chevron-right"></i></a>
              </footer>
              
<section id="comments">
  <div id="disqus_thread"></div>
</section>
<script>
  var disqus_shortname = 'hexojs';
  var disqus_url = 'https://hexo.io/ko/docs/plugins.html';
  var disqus_title = "Plugins";
  var disqus_config = function(){
    this.language = 'ko';
  };
  (function(){
    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
    dsq.src = 'https://go.disqus.com/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
  })();
</script>

            </div>
          </div>
          <aside id="article-toc" role="navigation">
            <div id="article-toc-inner">
              <script async type="text/javascript" src="//cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=hexoio" id="_carbonads_js"></script>
              <strong class="sidebar-title">Contents</strong>
              <ol class="toc"><li class="toc-item toc-level-3"><a class="toc-link" href="#스크립트"><span class="toc-text"><a href="#&#xC2A4;&#xD06C;&#xB9BD;&#xD2B8;" class="headerlink" title="&#xC2A4;&#xD06C;&#xB9BD;&#xD2B8;"></a>&#xC2A4;&#xD06C;&#xB9BD;&#xD2B8;</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#플러그인"><span class="toc-text"><a href="#&#xD50C;&#xB7EC;&#xADF8;&#xC778;" class="headerlink" title="&#xD50C;&#xB7EC;&#xADF8;&#xC778;"></a>&#xD50C;&#xB7EC;&#xADF8;&#xC778;</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#툴"><span class="toc-text"><a href="#&#xD234;" class="headerlink" title="&#xD234;"></a>&#xD234;</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#배포"><span class="toc-text"><a href="#&#xBC30;&#xD3EC;" class="headerlink" title="&#xBC30;&#xD3EC;"></a>&#xBC30;&#xD3EC;</span></a></li></ol>
              <a href="#" id="article-toc-top">Back to Top</a>
            </div>
          </aside>
        </div>
      </article>
      <aside id="sidebar" role="navigation">
  <div class="inner">
    <strong class="sidebar-title">Getting Started</strong><a href="index.html" class="sidebar-link">Overview</a><a href="setup.html" class="sidebar-link">Setup</a><a href="configuration.html" class="sidebar-link">Configuration</a><a href="commands.html" class="sidebar-link">Commands</a><a href="migration.html" class="sidebar-link">Migration</a><strong class="sidebar-title">Basic Usage</strong><a href="writing.html" class="sidebar-link">Writing</a><a href="front-matter.html" class="sidebar-link">Front-matter</a><a href="tag-plugins.html" class="sidebar-link">Tag Plugins</a><a href="asset-folders.html" class="sidebar-link">Asset Folders</a><a href="data-files.html" class="sidebar-link">Data Files</a><a href="server.html" class="sidebar-link">Server</a><a href="generating.html" class="sidebar-link">Generating</a><a href="deployment.html" class="sidebar-link">Deployment</a><strong class="sidebar-title">Customization</strong><a href="permalinks.html" class="sidebar-link">Permalinks</a><a href="themes.html" class="sidebar-link">Themes</a><a href="templates.html" class="sidebar-link">Templates</a><a href="variables.html" class="sidebar-link">Variables</a><a href="helpers.html" class="sidebar-link">Helpers</a><a href="internationalization.html" class="sidebar-link">Internationalization (i18n)</a><a href="plugins.html" class="sidebar-link current">Plugins</a><strong class="sidebar-title">Miscellaneous</strong><a href="troubleshooting.html" class="sidebar-link">Troubleshooting</a><a href="contributing.html" class="sidebar-link">Contributing</a>
  </div>
</aside>
    </div>
  </div>
</div>

    <footer id="footer" class="wrapper">
  <div class="inner">
    <div id="footer-copyright">
      &copy; 2017 <a href="https://github.com/hexojs/hexo/graphs/contributors" target="_blank">Hexo</a><br>
      Documentation licensed under <a href="http://creativecommons.org/licenses/by/4.0/" target="_blank">CC BY 4.0</a>.
    </div>
    <div id="footer-links">
      <a href="https://twitter.com/hexojs" class="footer-link" target="_blank"><i class="fa fa-twitter"></i></a>
      <a href="https://github.com/hexojs/hexo" class="footer-link" target="_blank"><i class="fa fa-github-alt"></i></a>
    </div>
  </div>
</footer>

  </div>
  <div id="mobile-nav-dimmer"></div>
  <nav id="mobile-nav">
  <div id="mobile-nav-inner">
    <ul id="mobile-nav-list">
      <a href="/ko/docs/" class="mobile-nav-link">Docs</a><a href="/ko/api/" class="mobile-nav-link">API</a><a href="/news/" class="mobile-nav-link">News</a><a href="/plugins/" class="mobile-nav-link">Plugins</a><a href="/themes/" class="mobile-nav-link">Themes</a>
      <li class="mobile-nav-item">
        <a href="https://github.com/hexojs/hexo" class="mobile-nav-link" rel="external" target="_blank">GitHub</a>
      </li>
    </ul>
    
      <strong class="mobile-nav-title">Getting Started</strong><a href="index.html" class="mobile-nav-link">Overview</a><a href="setup.html" class="mobile-nav-link">Setup</a><a href="configuration.html" class="mobile-nav-link">Configuration</a><a href="commands.html" class="mobile-nav-link">Commands</a><a href="migration.html" class="mobile-nav-link">Migration</a><strong class="mobile-nav-title">Basic Usage</strong><a href="writing.html" class="mobile-nav-link">Writing</a><a href="front-matter.html" class="mobile-nav-link">Front-matter</a><a href="tag-plugins.html" class="mobile-nav-link">Tag Plugins</a><a href="asset-folders.html" class="mobile-nav-link">Asset Folders</a><a href="data-files.html" class="mobile-nav-link">Data Files</a><a href="server.html" class="mobile-nav-link">Server</a><a href="generating.html" class="mobile-nav-link">Generating</a><a href="deployment.html" class="mobile-nav-link">Deployment</a><strong class="mobile-nav-title">Customization</strong><a href="permalinks.html" class="mobile-nav-link">Permalinks</a><a href="themes.html" class="mobile-nav-link">Themes</a><a href="templates.html" class="mobile-nav-link">Templates</a><a href="variables.html" class="mobile-nav-link">Variables</a><a href="helpers.html" class="mobile-nav-link">Helpers</a><a href="internationalization.html" class="mobile-nav-link">Internationalization (i18n)</a><a href="plugins.html" class="mobile-nav-link current">Plugins</a><strong class="mobile-nav-title">Miscellaneous</strong><a href="troubleshooting.html" class="mobile-nav-link">Troubleshooting</a><a href="contributing.html" class="mobile-nav-link">Contributing</a>
    
  </div>
  <div id="mobile-lang-select-wrap">
    <span id="mobile-lang-select-label"><i class="fa fa-globe"></i><span>한국어</span></span>
    <select id="mobile-lang-select" data-canonical="docs/plugins.html">
      
        <option value="en">English</option>
      
        <option value="zh-tw">正體中文</option>
      
        <option value="zh-cn">简体中文</option>
      
        <option value="ru">Русский</option>
      
        <option value="ko" selected>한국어</option>
      
    </select>
  </div>
</nav>
  <!-- Scripts -->
<!-- build:js build/js/main.js -->
<script src="/js/lang_select.js"></script>
<script src="/js/toc.js"></script>
<script src="/js/mobile_nav.js"></script>
<!-- endbuild -->

<!-- Algolia -->


</body>
</html>